﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using orienta.Code;
using orienta.Code.JQgrid;
using orienta.Helper;
using orienta.Models;
using orienta.Utils;

namespace orienta.Controllers
{
    public class DiscapacidadController : Controller
    {
        //
        // GET: /Discapacidad/

        public ActionResult Index()
        {
            var discapacidad = new DiscapacidadHelper();
            var lista = discapacidad.ListarDiscapacidades(0);

            return View(lista);
        }
        [HttpPost]
        public virtual JsonResult ListarDiscapacidades(int idPersona)
        {
            try
            {
                var jsonResponse = new JsonResponse();
                var discapacidadHelper = new DiscapacidadHelper();
                var items = discapacidadHelper.ListarDiscapacidades(idPersona);

                jsonResponse.Success = true;
                jsonResponse.Data = items;
                return Json(jsonResponse, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json(new JsonResponse { Message = ex.Message }, JsonRequestBehavior.AllowGet);
            }
        }

        [HttpPost]
        public virtual JsonResult Guardar(List<DiscapacidadesView> entidades)
        {
            var jsonResponse = new JsonResponse { Success = false };
            var discapacidadHelper = new DiscapacidadHelper();
            
                try
                {
                    foreach (var item in entidades)
                    {
                        if (item.nSeqDisca == null) item.nSeqDisca = 0;
                        if (item.seleccionada > 0 && item.nSeqDisca==0)
                        {
                            discapacidadHelper.InsertarDiscapacidades(item);
                        }
                        if ( item.seleccionada==0 && item.nSeqDisca > 0)
                        {
                            discapacidadHelper.ActualizarDiscapacidades(item);
                        }
                    }

                    jsonResponse.Success = true;
                    jsonResponse.Message = "Se guardaron con Éxito.";
                }
                catch (Exception ex)
                {
                    jsonResponse.Message = "Ocurrió un error.";
                }
            
            return Json(jsonResponse, JsonRequestBehavior.AllowGet);
        }

    }
}
